Source for file SC_MobileEmoji.php

Documentation is available at SC_MobileEmoji.php

  1. <?php
  2. /*
  3.  * This file is part of EC-CUBE
  4.  *
  5.  * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
  6.  *
  7.  * http://www.lockon.co.jp/
  8.  *
  9.  * This program is free software; you can redistribute it and/or
  10.  * modify it under the terms of the GNU General Public License
  11.  * as published by the Free Software Foundation; either version 2
  12.  * of the License, or (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  22.  */
  23.  
  24. /**
  25.  * 表示できない絵文字を置き換える文字列 (Shift JIS)
  26.  * デフォルトは空文字列。
  27.  */
  28. define('MOBILE_EMOJI_SUBSTITUTE''');
  29.  
  30. /**
  31.  * 携帯端末の絵文字を扱うクラス
  32.  */
  33. class SC_MobileEmoji {
  34.     /**
  35.      * 絵文字タグを各キャリア用の文字コードに変換する
  36.      * output buffering 用コールバック関数
  37.      *
  38.      * @param string 入力
  39.      * @return string 出力
  40.      */
  41.     function handler($buffer{
  42.         $replace_callback create_function('$matches''return SC_MobileEmoji::indexToCode($matches[1]);');
  43.         return preg_replace_callback('/\[emoji:(e?\d+)\]/'$replace_callback$buffer);
  44.     }
  45.  
  46.     /**
  47.      * 絵文字番号を絵文字を表す Shift JIS の文字列に変換する。
  48.      *
  49.      * @param string $index 絵文字番号
  50.      * @return string 絵文字を表す Shift JIS の文字列を返す。
  51.      */
  52.     function indexToCode($index{
  53.         $carrier SC_MobileUserAgent::getCarrier();
  54.         if ($carrier === false{
  55.             return MOBILE_EMOJI_SUBSTITUTE;
  56.         }
  57.  
  58.         static $arrMap;
  59.         if (!isset($arrMap)) {
  60.             $arrMap @include_once(dirname(__FILE__"/../include/mobile_emoji_map_$carrier.inc");
  61.         }
  62.  
  63.         return isset($arrMap[$index]$arrMap[$indexMOBILE_EMOJI_SUBSTITUTE;
  64.     }
  65. }
  66. ?>

Documentation generated on Tue, 28 Apr 2009 18:13:33 +0900 by phpDocumentor 1.4.2